﻿/***************************
 * Author：peiyang
 * DateTime：
 * Description：<Description>
 * Copyright：臭皮匠工作室@2020
 **/

using System.Collections.Generic;
using RabbitMQ.Client;
using Cpjit.SunnyPaine.Toolkit.RabbitMQ.Enums;

namespace Cpjit.SunnyPaine.Toolkit.RabbitMQ.Model
{
    /// <summary>
    ///  消息通道。
    /// </summary>
    public class ChannelMetaObject
    {
        /// <summary>
        /// AMQP消息通道。
        /// </summary>
        public IModel Channel { get; set; }

        /// <summary>
        /// 工作模式。
        /// </summary>
        public WorkMode Mode { get; set; }

        /// <summary>
        /// 队列列表。不基于交换器的工作模式的目标信息。
        /// </summary>
        public string QueueName;

        /// <summary>
        /// 交换器列表。基于交换器的工作模式的目标信息。如果不基于交换器的工作模式，则交换器列表为空。
        /// <para>键：交换器名称。值：队列集合。</para>
        /// </summary>
        public KeyValuePair<string, List<string>> QueueNames;

        /// <summary>
        /// 个性化参数。
        /// </summary>
        public IDictionary<string, object> Arguments { get; set; }
    }
}